In the field of synchronous motors, a synchronous motor is controlled to pass a current in an appropriate excitation phase of a stator winding in accordance with a magnetic pole position of a rotor in which permanent magnets are disposed, thereby producing a desired torque. One known way to detect a magnetic pole position of the rotor is to use a magnetic pole sensor or the like designed for that purpose. Typically, an angle sensor for absolute angular measurement is used. To attach the angle sensor, a “magnetic pole alignment operation” needs to be performed in which a reference position of the angle sensor is aligned with a magnetic pole position of the rotor.
In the case of an ordinary motor with an angle sensor, the magnetic pole alignment of the angle sensor is carried out in a manufacturing process by the manufacturer. However, in the case of a motor for a machine or an apparatus (a built-in motor), parts, including a rotor, a stator and a sensor, are provided to a user and the user needs to carry out the magnetic pole alignment operation when incorporating the motor into a machine or the like.
In order to facilitate the magnetic pole alignment operation performed by the user, most controllers for synchronous motors include a function for detecting a magnetic pole position and various methods for the function have been proposed (for example, refer to Japanese Unexamined Patent Publications No. JP-A-2001-78487). JP-A-2001-78487 discloses a method for detecting a magnetic pole position of a rotor, including the steps of (1) applying a current to a predetermined excitation phase of a stator, (2) obtaining a direction of movement of a rotor caused by the application of the current, (3) estimating a magnetic pole position of the rotor on the basis of the obtained direction of movement, (4) identifying, on the basis of the estimated magnetic pole position of the rotor, a predetermined excitation phase to which a current is to be applied next, and (5) repeating the steps (1) to (4).
The conventional technique requires information such as the number of poles of the synchronous motor, the resolution of the angle sensor, and the direction of rotation of the synchronous motor and the angle sensor beforehand and cannot accurately detect the magnetic pole position if these items of information are not available. Furthermore, if there is an incorrect connection between an amplifier which supplies electric power to the motor and a power line of the motor, i.e., connection of power lines in an incorrect phase sequence in the case of a three-phase synchronous motor, or a poor connection, or if there is significant noise in a signal fed back to the controller, for example a feedback signal of a current flowing through a power line or a feedback signal of the angle sensor, the magnetic pole position is difficult to accurately detect. Moreover, in a method for detecting the magnetic pole position while the motor is operating as in the conventional magnetic pole position detection method, friction and inertia in a machine can affect the detection of magnetic pole position and thereby reduce the accuracy of the detection.
When the magnetic pole position is difficult to accurately detect as described above, it may be necessary to analyze causes of the abnormality and notify the user of a likely cause. Notifying the user of an abnormality allows the user to quickly take a corrective action and facilitates quick initial start-up of the motor. Moreover, the notification can also prevent damage to the machine which would otherwise be caused by an unexpected motion due to activation of the motor based on a false detection.
A controller capable of detecting an abnormality such as a false detection of a magnetic pole position is known (for example, refer to Japanese Unexamined Patent Publications No. JP-A-2005-237199). This existing controller uses a sensorless control method to estimate a magnetic pole position from the value of a current flowing through the motor and can detect an abnormal estimated magnetic pole position from electric power obtained by two computational operation means.
However, the existing motor controllers are unable to detect an abnormality during the initial start-up of the motor. Another problem with the existing motor controllers is the inability to detect an abnormality due to a fault such as an incorrect connection of a power line of the motor or an incorrect setting of a parameter such as the number of poles of the motor.